Voice to Text. Speak in Mic and print in text
1. Create & Start the Virtual Env
2. Install voice recognition system with Python(SpeechRecognition, PyAudio)
(virtual_avatar) c:\Users\amit\miniconda3\envs>pip install SpeechRecognition
..
(virtual_avatar) c:\Users\amit\miniconda3\envs>pip install PyAudio
..
ERROR: Could not build wheels for pyaudio which use PEP 517 and cannot be installed directly
if pyaudio is not installed, try installing using pipwin
(virtual_avatar) c:\Users\amit\miniconda3\envs>conda install portaudio
(virtual_avatar) c:\Users\amit\miniconda3\envs>pip install pipwin
(virtual_avatar) c:\Users\amit\miniconda3\envs>pipwin install pyaudio
..
Successfully installed PyAudio-0.2.11
3. Run this
code
import speech_recognition as sr
recognizer = sr.Recognizer()
def capture_voice_input():
with sr.Microphone() as source:
print("Listening...")
audio = recognizer.listen(source)
return audio
def convert_voice_to_text(audio):
try:
text = recognizer.recognize_google(audio)
print("You said: " + text)
except sr.UnknownValueError:
text = ""
print("Sorry, I didn't understand that.")
except sr.RequestError as e:
text = ""
print("Error; {0}".format(e))
return text
def process_voice_command(text):
if "hello" in text.lower():
print("Hello! How can I help you?")
elif "goodbye" in text.lower():
print("Goodbye! Have a great day!")
return True
else:
print("I didn't understand that command. Please try again.")
return False
def main():
end_program = False
while not end_program:
audio = capture_voice_input()
text = convert_voice_to_text(audio)
end_program = process_voice_command(text)
if __name__ == "__main__":
main()
(virtual_avatar) c:\Users\amit\miniconda3\envs>cd c:\go-here\Code\python\virtual_avatar
(virtual_avatar) c:\go-here\Code\python\virtual_avatar>python code.py
Listening ..